Core.Storage.NotifyPoint = function() {
	this.queue = [];
};

Core.Storage.NotifyPoint.prototype = {
	
	/**
	 * Registers listener, so it will be invoked on NotifyPoint.update()
	 * @param Function fn
	 */
	register: function(fn) {
		this.queue.push(fn);
	},
	
	/**
	 * Unregisters listener, so it won't be invoked on NotifyPoint.update()
	 * @param Function fn
	 */
	unregister: function(fn) {
		this.queue.erase(fn);
	},
	
	/**
	 * Sets all registered listeners as dirty.
	 */
	setListenersDirty: function() {
		for(var i = 0, l = this.queue.length; i < l; i++) {
			Core.Storage.Notifier.setDirty(this.queue[i]);
		}
	}
};